# 题目 4：按照以下步骤在 PyCharm 中进行自动化测试脚本编写，并执行脚本。
# 测试数据：报废方式编号 报废方式名称 预期结果 F1122331 测试数据 保存成功！
# 步骤 1：新建 csv 格式的测试数据，并编写脚本读取 csv 中的测试数据。
import csv

from Po_Mode.S_Page import S_Page

data = open('1.csv', 'r', encoding='utf-8')
data_list = csv.reader(data)
# 步骤 2：
# 1、从 Selenium 中引入 WebDriver；
# 2、引入 ddt；
from ddt import ddt, unpack, data
# 3、引入 unittest；
import unittest


# 4、使用 Selenium 模块的 WebDriver 打开谷歌浏览器；
# 5、引入步骤 1 中的数据读取的方法；
# 6、在谷歌浏览器中通过 get 方法发送网址打开资产管理系统登录页面；
# 7、增加智能时间等待 30 秒；
# 8、查看登录页面中的用户名输入框元素，通过 id 属性定位用户名输入框， 并输入用户名 sysadmin；
# 9、查看登录页面中的密码输入框元素，通过 name 属性定位密码输入框，并 输入密码 SysAdmin123；
# 10、查看登录页面中的登录按钮元素，通过 tag_name 方法定位登录按钮， 使用 click()方法点击登录按钮进入资产管理系统首页；
# 11、在资产管理系统首页查看左侧报废方式按钮元素，通过 link_text 方法 进行定位，使用 click()方法点击报废方式按钮进入报废方式页面；
# 12、在报废管理页面通过 xpath 方法点击新增按钮；
@ddt
class test_Scrap(unittest.TestCase):
    s_page = S_Page()

    @classmethod
    def setUpClass(cls):
        cls.s_page.init()

    # 13、通过数据驱动输入报废方式和报废方式名称；
    @data(*data_list)
    @unpack
    def test_ScrapIn(self, a, b, c):
        text = self.s_page.add(a, b)
        self.assertEqual(c, text)

    @classmethod
    def tearDownClass(cls):
        S_Page().quit()
    # 14、点击保存按钮，并通过 assertEqual 断言方法来验证预期结果和实际结 果是否一致。


if __name__ == '__main__':
    unittest.main()
